package com.malou.server.ventas.cajainicial;

import java.util.Date;

import javax.servlet.http.HttpSession;

import com.malou.client.seguridad.usuario.Usuario;
import com.malou.client.util.MensajeData;
import com.malou.client.ventas.cajainicial.CajaInicial;
import com.malou.client.ventas.cajainicial.CajaInicialService;
import com.malou.server.seguridad.usuario.Usuarios;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;

public class CajaInicialServiceImpl extends RemoteServiceServlet implements CajaInicialService {

	private static final long serialVersionUID = 1L;

	@Override
	public Boolean hascajainicial(Date fecha) {
		Usuario user = getUsuarioSession(); 
		
		Integer tienda_id = user.getIdtienda();
		CajaInicial balance = new CajaInicial();
		balance.setTienda_id(tienda_id);
		balance.setFecha(fecha);
		return CajaIniciales.hascajainicial(balance);
	}
	
	private Usuario getUsuarioSession() {
		HttpSession session = getThreadLocalRequest().getSession(true);
		if (session.getAttribute("username") != null){
			String username = (String) session.getAttribute("username");
			
	        return Usuarios.getResponsable(username);  
	    }else{
	    	return null;
	    }
	}

	@Override
	public MensajeData save(CajaInicial balance) {
		MensajeData data = new MensajeData();
		data.guardado = true;
		
		Usuario user = getUsuarioSession();		
		balance.setTienda_id(user.getIdtienda());		
		
		if(!CajaIniciales.save(balance)){
			data.guardado = false;
			data.errorTipo = CajaIniciales.errorTipo;
		}
		
		return data;
	}

}
